package modellayer;
import java.util.ArrayList;

/**
 * Indeholder en liste med salg, samt tilføjelse- og søgefunktion på listen. 
 * 
 * @author (Jonas, Dani og Peter) 
 * @version (09-12-2014)
 */
public class SalgsContainer
{
    private static SalgsContainer instance;
    private ArrayList<Salg> salgsListe;
    
    /**
     * Constructor for class SalsContainer
     */
    private SalgsContainer()
    {
        salgsListe = new ArrayList<Salg>();
    }
    
    /**
     * Singleton for SalgsContainer.
     */
    public static SalgsContainer getInstance()
    {
        if(instance == null)
        {
            instance = new SalgsContainer();
        }
        return instance;
    }
    
    /**
     * Adds a salg o the arraylist salgListe.
     * 
     * @param salg an object salg to be added to the list.
     */
    public void addSalg(Salg salg)
    {
        salgsListe.add(salg);
    }
    
    /**
     * Finds an object salg with the given string id using a while loop.
     * 
     * @param id a string that is used to search for a salg with the given string.
     * @return  An object salg with the given string as an attribute, or null if no salg is found.
     */
    public Salg findSalg(String id)
    {
        Salg salg = null;
        int arraySize = salgsListe.size();
        boolean found = false;
        int i = 0;
        
        while(!salgsListe.isEmpty() && i < arraySize && found == false)
        {
            if(salgsListe.get(i).getID().equals(id))
            {
                salg = salgsListe.get(i);
                found = true;
            }
            i++;
        }
        
        return salg;
    }
    
    /**
     * Clears the arraylist salgsListe.
     */
    public void clearList()
    {
        salgsListe.clear();
    }
}
